#ifndef _USB_SERIAL_H
#define _USB_SERIAL_H
#include "main.h"
#include "serial.h"

extern void usb_serial_recv_handkler(uint8_t *buffer,uint32_t len);
extern void Motor_task_callback(void);
extern void Motor_task_pi_calc_ap(uint32_t level);
extern void Motor_task_pi_calc_af(uint32_t level);
extern void Motor_task_set_idle_ap(void);
extern void Motor_task_set_idle_af(void);
extern void usb_serial_update_tick_ap(void);
extern void usb_serial_update_tick_af(void);
extern void usb_serial_update_af_ring(void);
extern void af_ring_init(void);
extern void af_ring_detection(int pi_3_level,int pi_4_level);
extern void backlash_ap_handler(void);
extern void backlash_af_handler(void);
extern void backlash_ap_pos_update(void);
extern void backlash_af_pos_update(void);
extern void usb_serial_update_af_reverse_error(int16_t reverse_error);
extern void usb_serial_update_adc_ring_ap(int16_t adc_value);
extern void usb_serial_update_adc_ring_af(int16_t adc_value);
extern void usb_serial_update_btn_af_mf(int16_t btn_level);
extern void usb_serial_update_ap_pi_and_pos(void);
extern void usb_serial_update_af_pi_and_pos(void);
extern void usb_serial_update_ring_adc_snake_ap(uint16_t snake);
extern void usb_serial_update_ring_adc_snake_af(uint16_t snake);

extern void serial_recv_handler(SerialData_t *pSerialRecvData);

#endif
